Next: Keyboard Macros, Previous: Disabling Commands, Up: Command Loop [Contents][Index]
The command loop keeps a history of the complex commands that
have been executed, to make it convenient to repeat these
commands. A complex command is one for which the
interactive argument reading uses the minibuffer. This includes
any M-x command, any M-: command, and any
command whose interactive specification reads an
argument from the minibuffer. Explicit use of the minibuffer
during the execution of the command itself does not cause the
command to be considered complex.
This variable’s value is a list of recent complex commands, each represented as a form to evaluate. It continues to accumulate all complex commands for the duration of the editing session, but when it reaches the maximum size (see Minibuffer History), the oldest elements are deleted as new ones are added.
command-history
⇒ ((switch-to-buffer "chistory.texi")
(describe-key "^X^[")
(visit-tags-table "~/emacs/src/")
(find-tag "repeat-complex-command"))
This history list is actually a special case of minibuffer history (see Minibuffer History), with one special twist: the elements are expressions rather than strings.
There are a number of commands devoted to the editing and
recall of previous commands. The commands
repeat-complex-command, and
list-command-history are described in the user
manual (see
Repetition in The GNU Emacs Manual). Within the
minibuffer, the usual minibuffer history commands are
available.